home *** CD-ROM | disk | FTP | other *** search
/ The Disc - MacWorld 1995 / PowerComputing (The Disc)(MacWorld 1995).ISO / mac / CDFACTOR / NEW_DEMO / CDFACTORY / CDFACTORY.DXR / 00039_player script.ls < prev    next >
Encoding:
Text File  |  1995-07-13  |  9.9 KB  |  364 lines

  1. global gcurrlessonnumber, gcurrchapternumber, gstartupflag, gchapternumber, gindexmaplist, gFieldTop, gchaptertextheight, glessonnumber, gplaystatus, theDoubleClick, gColor, onIBM, gPauseMode, theQTMovie, gMoovOutTime, objChapterBtn, gSoundLevel, objVolumeBtn, gmasterfolderpath, gDelimiter, theBlitPict, gPictTransition, grectlist, galllessonlist, gallchapterlist, gPICTQTList
  2.  
  3. on sliderStillDown
  4.   showchaptername(the currentNo of objChapterBtn)
  5. end
  6.  
  7. on sliderMouseUp
  8.   donewchapter(gcurrlessonnumber, the currentNo of objChapterBtn, #pause)
  9. end
  10.  
  11. on setchapbtnloc chapternumber
  12.   slideLocSet(objChapterBtn, chapternumber)
  13. end
  14.  
  15. on volMouseStillDown
  16.   set gSoundLevel to the currentNo of objVolumeBtn - 1
  17.   setSoundLevel()
  18. end
  19.  
  20. on volMouseUp
  21.   setVolumeButtonLoc()
  22.   set gSoundLevel to the currentNo of objVolumeBtn - 1
  23.   setSoundLevel()
  24.   if gPauseMode then
  25.     puppetSound("Sosumi.snd")
  26.     updateStage()
  27.     repeat while soundBusy(1)
  28.     end repeat
  29.     puppetSound(0)
  30.   end if
  31. end
  32.  
  33. on setSoundLevel
  34.   QTSetAudioLevel(theQTMovie, getAt([0, 36, 73, 109, 146, 182, 219, 255], gSoundLevel + 1))
  35.   set the soundLevel to gSoundLevel
  36. end
  37.  
  38. on setVolumeButtonLoc
  39.   slideLocSet(objVolumeBtn, gSoundLevel + 1)
  40. end
  41.  
  42. on pushBtn
  43.   set btnCN to the castNum of sprite clickOn()
  44.   repeat while stillDown()
  45.     if rollOver(clickOn()) then
  46.       set the castNum of sprite clickOn() to btnCN + 1
  47.     else
  48.       set the castNum of sprite clickOn() to btnCN
  49.     end if
  50.     updateStage()
  51.   end repeat
  52.   set the castNum of sprite clickOn() to btnCN
  53.   updateStage()
  54. end
  55.  
  56. on settoplayingbtn
  57.   set gPauseMode to 0
  58.   set the castNum of sprite 10 to 4
  59.   updateStage()
  60. end
  61.  
  62. on settopausingbtn
  63.   set gPauseMode to 1
  64.   set the castNum of sprite 10 to 2
  65.   updateStage()
  66. end
  67.  
  68. on donewchapter newlessonnumber, newchapternumber, playstatus
  69.   if playstatus = #fastPlay then
  70.     if pictname(newchapternumber) = pictname(gcurrchapternumber) then
  71.       setchapbtnloc(newchapternumber)
  72.       showchaptername(newchapternumber)
  73.       settimecallback(newchapternumber)
  74.       set gcurrchapternumber to newchapternumber
  75.       set gplaystatus to #play
  76.       exit
  77.     end if
  78.   end if
  79.   watchon()
  80.   pausethemoov()
  81.   if (newlessonnumber <> gcurrlessonnumber) or gstartupflag then
  82.     disposethemoov()
  83.     set gcurrlessonnumber to newlessonnumber
  84.     set gchapternumber to getchapternumber(newlessonnumber)
  85.     set the locV of sprite 7 to (newlessonnumber * gchaptertextheight) + gFieldTop
  86.     set the foreColor of cast 32 to getAt(gColor, 1)
  87.     set the foreColor of line newlessonnumber of cast 32 to getAt(gColor, 2)
  88.     updateStage()
  89.     if gchapternumber = 0 then
  90.       set the visible of sprite 10 to 0
  91.       set the visible of sprite 13 to 0
  92.       set the visible of sprite 11 to 0
  93.       set the visible of sprite 12 to 0
  94.       set the visible of sprite 24 to 1
  95.       set the visible of sprite 24 to 0
  96.       updateStage()
  97.       showchaptername(0)
  98.       showpreview(gcurrlessonnumber)
  99.       watchoff()
  100.       exit
  101.     end if
  102.     slideListSet(objChapterBtn, gchapternumber)
  103.     if gchapternumber = 1 then
  104.       set the visible of sprite 13 to 0
  105.       updateStage()
  106.     else
  107.       set the visible of sprite 13 to 1
  108.       updateStage()
  109.     end if
  110.     if not gstartupflag then
  111.       set gstartupflag to 1
  112.     end if
  113.   end if
  114.   set the visible of sprite 10 to 1
  115.   updateStage()
  116.   if newchapternumber = gchapternumber then
  117.     set the visible of sprite 12 to 0
  118.     updateStage()
  119.     if qtkind(newchapternumber) = 0 then
  120.       set the visible of sprite 10 to 0
  121.       updateStage()
  122.     end if
  123.   else
  124.     set the visible of sprite 12 to 1
  125.     updateStage()
  126.   end if
  127.   if newchapternumber = 1 then
  128.     set the visible of sprite 11 to 0
  129.     updateStage()
  130.   else
  131.     set the visible of sprite 11 to 1
  132.     updateStage()
  133.   end if
  134.   if gchapternumber > 1 then
  135.     setchapbtnloc(newchapternumber)
  136.   end if
  137.   showchaptername(newchapternumber)
  138.   if gstartupflag then
  139.     set the visible of sprite 24 to 1
  140.     set the visible of sprite 24 to 0
  141.     updateStage()
  142.     disposethemoov()
  143.     if pictkind(newchapternumber) <> 0 then
  144.       openpictfile(newchapternumber)
  145.     end if
  146.     if smallscreen(newchapternumber) then
  147.       showpreview(gcurrlessonnumber)
  148.     end if
  149.   else
  150.     set thePPC to pictPrevClear(gcurrchapternumber, newchapternumber)
  151.     if getAt(thePPC, 2) = 1 then
  152.       showpreview(gcurrlessonnumber)
  153.     else
  154.       if getAt(thePPC, 2) = 2 then
  155.         set the visible of sprite 24 to 1
  156.         set the visible of sprite 24 to 0
  157.         updateStage()
  158.       else
  159.         if getAt(thePPC, 2) = 3 then
  160.           set the visible of sprite 24 to 1
  161.           set the visible of sprite 24 to 0
  162.           updateStage()
  163.           showpreview(gcurrlessonnumber)
  164.         end if
  165.       end if
  166.     end if
  167.     if getAt(thePPC, 1) = 1 then
  168.       openpictfile(newchapternumber)
  169.     else
  170.       if (getAt(thePPC, 1) = 2) and (pictname(newchapternumber) <> pictname(gcurrchapternumber)) then
  171.         openpictfile(newchapternumber)
  172.       end if
  173.     end if
  174.   end if
  175.   if qtkind(newchapternumber) <> 0 then
  176.     if the movieid of theQTMovie = EMPTY then
  177.       openqtmovie(newchapternumber)
  178.       setintime(newchapternumber)
  179.       settimecallback(newchapternumber)
  180.     else
  181.       if qtname(newchapternumber) <> qtname(gcurrchapternumber) then
  182.         disposethemoov()
  183.         openqtmovie(newchapternumber)
  184.         setintime(newchapternumber)
  185.         settimecallback(newchapternumber)
  186.       else
  187.         if playstatus = #contPlay then
  188.           settimecallback(newchapternumber)
  189.         else
  190.           if intime(newchapternumber) >= outtime(gcurrchapternumber) then
  191.             settimecallback(newchapternumber)
  192.             setintime(newchapternumber)
  193.           else
  194.             setintime(newchapternumber)
  195.             settimecallback(newchapternumber)
  196.           end if
  197.         end if
  198.       end if
  199.     end if
  200.     if (playstatus = #play) or (playstatus = #contPlay) then
  201.       playthemoov()
  202.       set the visible of sprite 11 to 1
  203.       updateStage()
  204.       set gplaystatus to #play
  205.     else
  206.       if playstatus = #pause then
  207.         pausethemoov()
  208.         refreshthemoov()
  209.         set gplaystatus to #pause
  210.       end if
  211.     end if
  212.   else
  213.     setAt(getAt(gindexmaplist, gcurrlessonnumber), newchapternumber, 1)
  214.     disposethemoov()
  215.     settopausingbtn()
  216.   end if
  217.   if gstartupflag then
  218.     set gstartupflag to 0
  219.   end if
  220.   set gcurrchapternumber to newchapternumber
  221.   watchoff()
  222. end
  223.  
  224. on showchaptername chapternumber
  225.   set the text of cast 33 to chaptername(chapternumber)
  226.   updateStage()
  227. end
  228.  
  229. on openqtmovie chapternumber
  230.   set filepath to gmasterfolderpath & currlessonname() & gDelimiter & qtname(chapternumber)
  231.   QTOpenMovie(theQTMovie, filepath, gettherect(qtkind(chapternumber)))
  232.   if result() contains "Error" then
  233.     set the movieid of theQTMovie to EMPTY
  234.     exit
  235.   end if
  236.   setSoundLevel()
  237. end
  238.  
  239. on refreshthemoov
  240.   qtrefresh(theQTMovie)
  241. end
  242.  
  243. on disposethemoov
  244.   QTDispose(theQTMovie)
  245. end
  246.  
  247. on playthemoov
  248.   settoplayingbtn()
  249.   QTPlay(theQTMovie)
  250.   set gPauseMode to 0
  251. end
  252.  
  253. on pausethemoov
  254.   settopausingbtn()
  255.   QTPause(theQTMovie)
  256.   set gPauseMode to 1
  257. end
  258.  
  259. on setintime chapternumber
  260.   QTSetCurrTime(theQTMovie, intime(chapternumber))
  261. end
  262.  
  263. on settimecallback chapternumber
  264.   set gMoovOutTime to outtime(chapternumber)
  265. end
  266.  
  267. on callbackplay
  268.   setAt(getAt(gindexmaplist, gcurrlessonnumber), gcurrchapternumber, 1)
  269.   set cb to qtcallback(gcurrchapternumber)
  270.   if cb = 4 then
  271.     donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #fastPlay)
  272.   else
  273.     if cb = 1 then
  274.       donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #contPlay)
  275.     else
  276.       if cb = 2 then
  277.         pausethemoov()
  278.         disposethemoov()
  279.         donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #play)
  280.       else
  281.         if cb = 3 then
  282.           if gcurrlessonnumber = glessonnumber then
  283.             pausethemoov()
  284.             disposethemoov()
  285.             donewchapter(1, 1, #play)
  286.           else
  287.             pausethemoov()
  288.             disposethemoov()
  289.             donewchapter(gcurrlessonnumber + 1, 1, #play)
  290.           end if
  291.         end if
  292.       end if
  293.     end if
  294.   end if
  295. end
  296.  
  297. on openpictfile chapternumber
  298.   set pictfilepath to gmasterfolderpath & currlessonname() & gDelimiter & pictname(chapternumber)
  299.   set destrect to gettherect(pictkind(chapternumber))
  300.   blitPictDrawFile(theBlitPict, pictfilepath, destrect, "copy", gPictTransition, 0)
  301. end
  302.  
  303. on gettherect kind
  304.   return getAt(grectlist, kind)
  305. end
  306.  
  307. on getchapternumber lessonnumber
  308.   return getAt(getAt(galllessonlist, lessonnumber), 2)
  309. end
  310.  
  311. on intime chapternumber
  312.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 4)
  313. end
  314.  
  315. on outtime chapternumber
  316.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 5)
  317. end
  318.  
  319. on qtcallback chapternumber
  320.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 10)
  321. end
  322.  
  323. on pictname chapternumber
  324.   if onIBM then
  325.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 7)
  326.   else
  327.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 6)
  328.   end if
  329. end
  330.  
  331. on pictkind chapternumber
  332.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 8)
  333. end
  334.  
  335. on qtname chapternumber
  336.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 2)
  337. end
  338.  
  339. on qtkind chapternumber
  340.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 3)
  341. end
  342.  
  343. on currlessonname
  344.   return getAt(getAt(galllessonlist, gcurrlessonnumber), 1)
  345. end
  346.  
  347. on chaptername chapternumber
  348.   if chapternumber = 0 then
  349.     return EMPTY
  350.   else
  351.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 1)
  352.   end if
  353. end
  354.  
  355. on pictPrevClear prevparagraph, nextparagraph
  356.   set prevCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), prevparagraph), 9)
  357.   set nextCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), nextparagraph), 9)
  358.   return [getAt(getAt(getAt(gPICTQTList, 1), prevCh), nextCh), getAt(getAt(getAt(gPICTQTList, 2), prevCh), nextCh)]
  359. end
  360.  
  361. on smallscreen paragraph
  362.   return getAt(getAt(gPICTQTList, 3), getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), paragraph), 9))
  363. end
  364.